package Gestores.DtoObjects;

import Gestores.DaoInterfaces.InscripcionDAO;
import java.sql.Date;
import java.util.ArrayList;
import Gestores.DataBaseLink;
import java.sql.ResultSet;
import java.sql.SQLException;
import Gestores.Entidades.EntidadInscripcion;
import Gestores.NucleoBaseDatos;

public class InscripcionDTO implements InscripcionDAO {
    
    public InscripcionDTO(){
        this.gestor = NucleoBaseDatos.getInstance();
    }
    
    private DataBaseLink gestor;
    
    @Override
    public ArrayList<Object> buscarPorIdCertificado(int idCertificado) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public ArrayList<Object> buscarPorIdCredencial(int idCredencial) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public ArrayList<Object> buscarPorIdMatricula(int idMatricula) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public ArrayList<Object> buscarPorId(String id) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public ArrayList<Object> buscarPorFecha(Date Fecha) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void insertar(Object objeto) throws Exception{
        EntidadInscripcion eInscripcion = (EntidadInscripcion) objeto;
       // gestor.executeSql("Call InsertarInscripcion(" + eInscripcion.cadenaParaInsercion() + ");" );
    }

    @Override
    public void actualizar(Object primaryKey, Object objeto) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void eliminacionLogica(Object objeto) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void eliminacionFisica(Object objeto) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public ArrayList<Object> listarTabla() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    
        private ArrayList<Object> devolverListaCargada(ResultSet resultado) throws SQLException {
        ArrayList<Object> lista = new ArrayList<Object>();
        // (int id, int ci, String descripcion, int monto, Date fecha, boolean estado)
        while (resultado.next()) {
            EntidadInscripcion inscripcion = new EntidadInscripcion(resultado.getInt(1),
                    resultado.getInt(2), resultado.getInt(3), resultado.getInt(4), resultado.getString(5),
                    resultado.getInt(6),resultado.getDate(7));
            lista.add(inscripcion);
        }
        this.gestor.CerrarStatement();
        return lista;
    }
}
